## Le loup des mers pour Sharp PC1500 ( pas de programme )
## tir du magazine Hebdogiciel N84
## 
## 	Ncessite l'extension PETOOLS.
## 
## 	Capitaine, la patrie est en danger et nous comptons sur votre sous-marin pour dfendre nos ctes. Allez mon brave, le pays vous en sera reconnaissant...
## 
## Mode d'emploi :
## fonctionnement du sous-marin :
## 8 -> Nord
## 2 -> Sud
## 6 -> Est
## 4 -> Ouest
## CL -> permet de voir en dtail l'tat du navire;l'assiette, l'tat du vaisseau ( V ), le nombre de torpilles, la jauge de carburant, le score obtenu ( SC )
## P -> sort le priscope
## O -> rentre le priscope
## SHIFT -> permet de lancer une torpille lorsqu'un objectif est assez proche. Toute torpille tire dans objectif, fait dcroitre le score
## L -> active le radar ( contre-sonar )
## K -> dsactive le radar
## La flche vers le bas baisse l'assiette de 10m. La flche du haut l'augmente de 10m.
## 	Sur l'cran principal, vous apercevez de gauche  droite : le tmoin radar, la profondeur, la direction ( N, E, S, O ), la coordonne. Votre zone de chasse est comprise entre la coordonne 0 et 20 ( abscisse et ordonne ), 4 convois naviguent toujours dans votre zone.
## 	Priscope et attaque : impossibilit de sortir le priscope au dessus de 20m, ce dernier permet une vue de 180 dans le direction du sous-marin. A 2 cases de vous, l'objectif est figur par 2 points et se prcise  votre approche. Tirez par SHIFT et rpondre "D" ou "C" pour destroyer ou cargo. Vous gagnez 5 points par cargo coul ( succession de BEEP ), et 8 pour un destroyer. La riposte d'un destroyer peut vous toucher faiblement ( bruits courts ), ou gravement ( bruits longs ). Sachez que les torpilles ont une porte d'une case et qu'un destroyer dtruit fait disperses le convoi.
## Radar : met deux sons courts lorsqu'il ne dtecte rien et un son court, un son long par bateau dtect. Aprs dtection du sous-marin, les destroyers envoient une escadrille d'avions;vous tes  l'abri des attaques, immerg  une profondeur suprieure  20m.
## Base secrte : tablie  -100m, coordonne ( 0,0 ), vous pouvez y recouvrer torpilles et carburant. Le sous-marin est rpar si vous avez tir au moins 4 torpilles et il est endommag lorsqu'il "racl" le fond.
## 
## Programme :
25 DIM A$(4)*48:DIM B$(4)*32:DIM E$(3)*20
28 DIM C(4):DIM D(4):RANDOM:C(1)=RND(10)+10:C(3)=0:C(4)=20
30 D(1)=0:D(2)=20:D(3)=RND(10):D(4)=RND(10)+10
40 DATA 10,10,20,30,0,"10306068787860627F6278787C7E78607878686030100000"
50 DATA "0028647860607878787C606070686428"
60 DATA "40406070400000406060","N",0,0,0,100
70 DATA "2070787020","0000000020707020","20747E7420","2070200000206020"
75 DATA "2864687060607C78787860607864280000103060687878"
77 DATA "60787E7C7878627F6260787868603010"
80 DATA "60604000004070604040"
85 READ AS,OS,ET,NT,PR,A$(1),B$(1),E$(1),DI$,RA,DE,TN,CA
87 READ A$(2),B$(2),A$(3),E$(2),A$(4),B$(3),E$(3)
88 B$(4)=B$(3):B$(3)=B$(2)
96 FOR WW=1 TO 1:GOTO 236
100 FOR WW=1 TO 2
103 IF RA=1 GOTO 310
105 I$=INKEY$
109 IF I$="" GOTO 105
110 IF I$="8" LET OS=OS-1:DI$="N"
120 IF I$="4" LET AS=AS-1:DI$="O"
130 IF I$="2" LET OS=OS+1:DI$="S"
140 IF I$="6" LET AS=AS+1:DI$="E"
150 IF I$="P" CLS:GOTO 390
170 IF I$=CHR$ 10 LET DE=DE-10
180 IF I$=CHR$ 11 LET DE=DE+10
190 IF I$=CHR$ 24 GOSUB 800
195 IF I$="R" LET TN=TN-20:BEEP 15,15,15:ET=20
200 IF I$="L" LET RA=1
205 IF I$="K" LET RA=0
230 PR=PR+DE:IF PR>0 LET PR=0
233 IF PR<-100 LET ET=ET-1:PR=-100
236 CLS
237 IF RA=1 GCURSOR 1:WAIT 0:GPRINT "114A744A11"
239 CURSOR 3:WAIT 0:PRINT "Pr.";PR;
241 CURSOR 11:PRINT "Dir. ";DI$
243 CURSOR 18:PRINT AS;" /";OS
244 IF AS=0 AND OS=0 AND PR=-100 AND NT<27 BEEP 9,5,25:ET=20
245 IF AS=0 AND OS=0 AND PR=-100 AND CA<90 LET NT=30:LET CA=100:BEEP 25,50,50
248 CA=CA-1:NEXT WW
250 D(1)=D(1)+1:D(2)=D(2)-1:C(3)=C(3)+1:C(4)=C(4)-1
260 IF D(1)>20 LET D(1)=0
270 IF D(2)<0 LET D(2)=20
280 IF C(3)>20 LET C(3)=0
290 IF C(4)<0 LET C(4)=20
295 IF ET<0 OR CA<0 GOTO 1000
300 GOTO 100
310 FOR M=1 TO 4:IF C(M)-AS>-3 AND C(M)-AS<3 IF D(M)-OS>-3 AND D(M)-OS<3 LET OB=OB+1
320 NEXT M
330 IF OB=0 BEEP 2,15,350
340 IF OB>0 BEEP OB,15,30:BEEP OB,35,500:OB=0
350 IF RND 25<2 GOTO 370
360 GOTO 105
370 CLS:GOSUB 1100:CLS:RETURN
390 IF PR<-20 GOTO 236
400 FOR M=1 TO 4:IF C(M)-AS>-3 AND C(M)-AS<3 IF D(M)-OS>-3 AND D(M)-OS<3 LET OB=1:LET G=M
405 NEXT M
410 IF OB=0 GOTO 540
430 IF DI$="S" GOTO 500
440 IF DI$="E" GOTO 480
450 IF DI$="O" GOTO 520
460 IF D(G)>OS GOTO 540
470 EB=OS-D(G):PB=AS-C(G)
472 IF G=1 LET T=3
474 IF G=2 LET T=2
475 IF G=3 LET T=4
477 IF G=4 LET T=1
478 GOTO 545
480 IF C(G)<AS GOTO 540
490 EB=C(G)-AS:PB=OS-D(G)
492 IF G=1 LET T=4
494 IF G=2 LET T=1
496 IF G=3 LET T=2
498 IF G=4 LET T=3
499 GOTO 545
500 IF D(G)<OS GOTO 540
510 EB=D(G)-OS:PB=C(G)-AS
512 IF G=1 LET T=2
514 IF G=2 LET T=3
515 IF G=3 LET T=1
517 IF G=4 LET T=4
518 GOTO 545
520 IF AS<C(G) GOTO 540
530 EB=AS-C(G):PB=D(G)-OS
532 IF G=1 LET T=1
533 IF G=2 LET T=4
534 IF G=3 LET T=3
535 IF G=4 LET T=2
536 GOTO 545
540 CLS:OB=0:EB=3:BEEP 5,155,40
545 GCURSOR 13
546 WAIT 0:GPRINT 3
547 GCURSOR 142
548 GPRINT 3
551 IF EB=3 GOTO 565
552 GCURSOR 72-(PB*32):IF EB=0 GPRINT A$(T)+B$(T)
553 IF T=3 LET T=2
554 IF T=4 LET T=3
563 IF EB=1 GPRINT E$(T)
564 IF EB=2 GPRINT "0000000040000040"
565 IF PB<>0 LET OB=0
567 WAIT OB*60:PRINT:OB=0:GCURSOR 79:WAIT 0:GPRINT "3844564438"
570 I$=INKEY$:IF I$="" GOTO 570
580 IF I$=CHR$ 1 AND PB=0 LET NT=NT-1:GOTO 610
590 IF I$="O" GOTO 236
600 GOTO 570
610 IF EB>1 LET TN=TN-5:GOTO 236
630 INPUT "Quel bateau ? ";E$:CLS:IF E$="D" GOTO 680
645 IF RND 10<6-EB*2 GOSUB 1600:BEEP 25,25,25:TN=TN+5:GOTO 710
670 GOSUB 1600:GOTO 710
680 GOSUB 1600:GOTO 900
710 CP=-RND(10)*10:BEEP 1,150,125
711 GCURSOR 70:WAIT 4:GPRINT A$(1)
712 GCURSOR 91:GPRINT 24
713 GCURSOR 91:GPRINT 16;:GCURSOR 92:GPRINT 4
714 GCURSOR 91:GPRINT 24,2;:GCURSOR 91:GPRINT 16,0;
715 GCURSOR 92:GPRINT 4,1:GCURSOR 92:GPRINT 0,0:GCURSOR 93:GPRINT 2,2:GCURSOR 93:GPRINT 0,0
716 GCURSOR 94:GPRINT 1,4:GCURSOR 94:GPRINT 0,0:GCURSOR 95:GPRINT 2,8;:GCURSOR 95:GPRINT 0,0:GCURSOR 96:GPRINT 4,16:GCURSOR 96:GPRINT 0,0
717 GCURSOR 97:GPRINT 8,32:GCURSOR 97:GPRINT 0,0:GCURSOR 98:GPRINT 16,64:GCURSOR 98:GPRINT 0,0:GCURSOR 99:GPRINT 32:GCURSOR 98:GPRINT 0,64
718 GCURSOR 100:GPRINT 0
723 FOR M=1 TO -CP:BEEP 1,M,10:NEXT M
725 IF CP=PR GOTO 1000
730 IF CP-10=PR OR CP-20=PR OR CP+10=PR OR CP+20=PR LET ET=ET-RND 8:FOR M=-30 TO 0:BEEP 2,-M,5:NEXT M
740 IF CP+40=PR OR CP+30=PR LET ET=ET-RND 2:FOR M=20 TO 1 STEP -1:BEEP 1,M,2:NEXT M
755 IF ET<0 GOTO 1000
760 IF RND 2=1 GOTO 236
780 GOTO 710
800 CLS:GCURSOR 0:WAIT 0:GPRINT "087C7E7C08";:CURSOR 1:PRINT DE
802 GCURSOR 28:GPRINT "7F7F615F617F7F":CURSOR 6:PRINT ET
803 GCURSOR 63:GPRINT "5E7F5E":CURSOR 11:PRINT NT
805 GCURSOR 90:GPRINT "7F7F415D7F7F":CURSOR 16:PRINT CA
808 GCURSOR 122:GPRINT "7F7F51457F415D7F7F":CURSOR 22:PRINT TN
810 I$=INKEY$:IF I$<>"" RETURN
820 GOTO 810
900 IF RND 10>4+EB*2 GOTO 710
920 TN=TN+8:IF G=1 LET D(1)=RND 20:C(1)=RND 10
930 IF G=2 LET C(2)=(RND 10)+10:D(2)=RND 20
940 IF G=3 LET C(3)=RND 20:LET D(3)=RND 10
950 IF G=4 LET C(4)=RND 20:D(4)=(RND 10)+10
957 CLS
960 GCURSOR 70:WAIT 15:GPRINT A$(1)
970 GCURSOR 77:GPRINT "61607D60797A78796278"
975 GCURSOR 77:GPRINT "606075607479747065"
980 GCURSOR 77:GPRINT "6064716072746268607A"
985 GCURSOR 77:GPRINT "60626860696A6061647879"
990 GCURSOR 77:GPRINT "6170446048515060607A7868603010"
992 GCURSOR 77:GPRINT "60687220046440686078786860301000"
994 GCURSOR 70:WAIT 25:GPRINT "20604050707040484110240028404870705040602000"
996 GCURSOR 70:WAIT 35:GPRINT "404000206060000800100110040068602000404000"
998 BEEP 3,125,75:WAIT 30:PRINT:BEEP 1,155,360:GOTO 236
1000 CLS:WAIT:PRINT "Score ",TN
1080 CLEAR:RESTORE:GOTO 25
1100 SM$="4040406070404040":AV$="00030202030302"
1103 GCURSOR 99
1106 WAIT 0:GPRINT SM$
1110 FOR M=50 TO 92:GCURSOR M
1120 GPRINT AV$:BEEP 1,155,1
1130 NEXT M
1170 GCURSOR 93
1180 WAIT 1:GPRINT "00030202030342":BEEP 1,130,1
1190 GCURSOR 94
1200 GPRINT "00030202034342":BEEP 1,130,1
1220 GCURSOR 95
1230 GPRINT "00030202434342":BEEP 1,120,1
1240 GCURSOR 96
1250 GPRINT "00030242434362":BEEP 1,110,1
1260 GCURSOR 97
1270 GPRINT "00034242436372":BEEP 1,100,1
1290 GCURSOR 98
1300 GPRINT "004342426773424040":BEEP 1,100,1
1310 GCURSOR 99
1320 GPRINT "4043426A734342":BEEP 1,100,1
1330 GCURSOR 100
1340 GPRINT "40437272434342"
1350 FOR M=1 TO 2:FOR N=40 TO 9 STEP -1:BEEP 1,N,7:NEXT N:NEXT M
1353 ET=ET-(RND 2)+1
1355 IF PR>-30 LET ET=ET-(RND 2):CURSOR 0:WAIT 0:PRINT "Etat :";ET
1360 GCURSOR 101
1370 GPRINT "40637242434302":BEEP 1,100,1
1380 GCURSOR 102
1390 GPRINT "60734242430302":BEEP 1,100,1
1400 GCURSOR 103
1410 GPRINT "70434242030302":BEEP 1,100,1
1420 GCURSOR 104
1430 GPRINT "40434202030302":BEEP 1,100,1
1440 GCURSOR 105
1450 GPRINT "40430202030302":BEEP 1,100,1
1460 GCURSOR 106
1470 GPRINT "40"+AV$:BEEP 1,100,1
1480 FOR M=107 TO 155:GCURSOR M
1490 WAIT 0:GPRINT "00"+AV$:BEEP 1,155,1:NEXT M:GOTO 236
1600 FOR M=75 TO 15 STEP -1:BEEP 1,M,3:NEXT M:RETURN